```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>InnoDB 核心特性解析 | 数据库技术深度剖析</title>
    <link rel="stylesheet" href="https://cdn.staticfile.org/font-awesome/6.4.0/css/all.min.css">
    <link rel="stylesheet" href="https://cdn.staticfile.org/tailwindcss/2.2.19/tailwind.min.css">
    <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/mermaid@latest/dist/mermaid.min.js"></script>
    <style>
        body {
            font-family: 'Noto Sans SC', 'Noto Serif SC', Tahoma, Arial, Roboto, "Droid Sans", "Helvetica Neue", "Droid Sans Fallback", "Heiti SC", "Hiragino Sans GB", Simsun, sans-serif;
            background-color: #f8fafc;
            color: #1e293b;
            line-height: 1.6;
        }
        .hero-gradient {
            background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 50%, #9333ea 100%);
        }
        .card-hover {
            transition: all 0.3s ease;
        }
        .card-hover:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
        }
        .drop-cap::first-letter {
            float: left;
            font-size: 3.5rem;
            line-height: 0.65;
            margin: 0.1em 0.2em 0 0;
            font-weight: 700;
            color: #4f46e5;
        }
        .feature-icon {
            width: 60px;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 16px;
            margin-bottom: 1.5rem;
        }
    </style>
</head>
<body>
    <!-- Hero Section -->
    <section class="hero-gradient text-white py-20 px-4 sm:px-6 lg:px-8">
        <div class="max-w-6xl mx-auto">
            <div class="flex flex-col md:flex-row items-center">
                <div class="md:w-7/12 mb-10 md:mb-0">
                    <span class="inline-block bg-indigo-100 text-indigo-600 px-3 py-1 rounded-full text-sm font-medium mb-4">数据库核心技术</span>
                    <h1 class="text-4xl md:text-5xl lg:text-6xl font-bold mb-6 leading-tight">InnoDB 四大核心特性</h1>
                    <p class="text-xl text-indigo-100 mb-8 max-w-2xl">探索 InnoDB 如何通过事务支持、行级锁、外键约束和 MVCC 实现高性能、高可靠性的数据库管理</p>
                    <div class="flex space-x-4">
                        <button class="bg-white text-indigo-600 px-6 py-3 rounded-lg font-medium hover:bg-indigo-50 transition duration-300">
                            <i class="fas fa-book mr-2"></i> 了解更多
                        </button>
                        <button class="border border-white text-white px-6 py-3 rounded-lg font-medium hover:bg-white hover:text-indigo-600 transition duration-300">
                            <i class="fas fa-database mr-2"></i> 数据库文档
                        </button>
                    </div>
                </div>
                <div class="md:w-5/12">
                    <div class="bg-white bg-opacity-20 p-6 rounded-2xl backdrop-blur-sm">
                        <div class="mermaid">
                            graph TD
                                A[InnoDB核心特性] --> B(事务支持)
                                A --> C(行级锁)
                                A --> D(外键约束)
                                A --> E(MVCC)
                                B --> F[ACID原则]
                                C --> G[高并发]
                                D --> H[数据完整性]
                                E --> I[并发控制]
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- Main Content -->
    <div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-16">
        <!-- Introduction -->
        <section class="mb-20">
            <p class="drop-cap text-lg text-slate-700 leading-relaxed mb-6">
                InnoDB 的四大特性——事务支持、行级锁、外键支持和 MVCC——共同构成了其强大的数据库管理能力。这些特性帮助 InnoDB 提供高性能、高可靠性的数据处理能力，确保数据一致性和系统的稳定性。在数据库设计和优化中，深入理解这些特性能够帮助开发人员和管理员更好地利用 InnoDB 提供的功能，满足各种复杂的应用需求。
            </p>
        </section>

        <!-- Features Section -->
        <section>
            <!-- Feature 1 -->
            <div class="grid grid-cols-1 md:grid-cols-12 gap-8 mb-16">
                <div class="md:col-span-4">
                    <div class="sticky top-8">
                        <div class="feature-icon bg-indigo-100 text-indigo-600">
                            <i class="fas fa-exchange-alt text-2xl"></i>
                        </div>
                        <h2 class="text-3xl font-bold mb-4">事务支持 (ACID)</h2>
                        <p class="text-indigo-600 font-medium">确保数据库操作的可靠性和一致性</p>
                        <div class="mt-6">
                            <div class="flex items-center mb-3">
                                <div class="w-8 h-8 rounded-full bg-indigo-100 text-indigo-600 flex items-center justify-center mr-3">
                                    <i class="fas fa-atom"></i>
                                </div>
                                <span>原子性 (Atomicity)</span>
                            </div>
                            <div class="flex items-center mb-3">
                                <div class="w-8 h-8 rounded-full bg-indigo-100 text-indigo-600 flex items-center justify-center mr-3">
                                    <i class="fas fa-link"></i>
                                </div>
                                <span>一致性 (Consistency)</span>
                            </div>
                            <div class="flex items-center mb-3">
                                <div class="w-8 h-8 rounded-full bg-indigo-100 text-indigo-600 flex items-center justify-center mr-3">
                                    <i class="fas fa-user-lock"></i>
                                </div>
                                <span>隔离性 (Isolation)</span>
                            </div>
                            <div class="flex items-center">
                                <div class="w-8 h-8 rounded-full bg-indigo-100 text-indigo-600 flex items-center justify-center mr-3">
                                    <i class="fas fa-shield-alt"></i>
                                </div>
                                <span>持久性 (Durability)</span>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="md:col-span-8">
                    <div class="bg-white rounded-xl shadow-md p-8 card-hover">
                        <h3 class="text-xl font-semibold mb-4 text-indigo-700">实现机制</h3>
                        <ul class="space-y-4">
                            <li class="flex">
                                <div class="flex-shrink-0 mr-4">
                                    <div class="w-10 h-10 rounded-full bg-indigo-50 text-indigo-600 flex items-center justify-center">
                                        <i class="fas fa-file-alt"></i>
                                    </div>
                                </div>
                                <div>
                                    <h4 class="font-medium">日志文件</h4>
                                    <p class="text-slate-600">InnoDB 使用重做日志（Redo Log）和回滚日志（Undo Log）来实现事务的持久性和原子性。重做日志记录了数据页的修改操作，而回滚日志用于在事务回滚时恢复数据。</p>
                                </div>
                            </li>
                            <li class="flex">
                                <div class="flex-shrink-0 mr-4">
                                    <div class="w-10 h-10 rounded-full bg-indigo-50 text-indigo-600 flex items-center justify-center">
                                        <i class="fas fa-tachometer-alt"></i>
                                    </div>
                                </div>
                                <div>
                                    <h4 class="font-medium">日志缓冲</h4>
                                    <p class="text-slate-600">在事务提交前，数据修改会先记录在日志缓冲区中，然后批量写入磁盘以提高性能。</p>
                                </div>
                            </li>
                        </ul>
                        <div class="mt-8">
                            <div class="mermaid">
                                graph LR
                                    A[事务开始] --> B[Undo Log记录]
                                    B --> C[数据修改]
                                    C --> D[Redo Log记录]
                                    D --> E{事务提交?}
                                    E -->|是| F[Redo Log刷盘]
                                    E -->|否| G[Undo Log回滚]
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Feature 2 -->
            <div class="grid grid-cols-1 md:grid-cols-12 gap-8 mb-16">
                <div class="md:col-span-4">
                    <div class="sticky top-8">
                        <div class="feature-icon bg-purple-100 text-purple-600">
                            <i class="fas fa-lock text-2xl"></i>
                        </div>
                        <h2 class="text-3xl font-bold mb-4">行级锁 (Row-Level Locking)</h2>
                        <p class="text-purple-600 font-medium">提高并发性能，减少锁争用</p>
                        <div class="mt-6">
                            <div class="flex items-center mb-3">
                                <div class="w-8 h-8 rounded-full bg-purple-100 text-purple-600 flex items-center justify-center mr-3">
                                    <i class="fas fa-expand"></i>
                                </div>
                                <span>锁粒度小，仅锁定涉及的行</span>
                            </div>
                            <div class="flex items-center mb-3">
                                <div class="w-8 h-8 rounded-full bg-purple-100 text-purple-600 flex items-center justify-center mr-3">
                                    <i class="fas fa-handshake"></i>
                                </div>
                                <span>共享锁 (Shared Lock)</span>
                            </div>
                            <div class="flex items-center">
                                <div class="w-8 h-8 rounded-full bg-purple-100 text-purple-600 flex items-center justify-center mr-3">
                                    <i class="fas fa-lock"></i>
                                </div>
                                <span>排他锁 (Exclusive Lock)</span>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="md:col-span-8">
                    <div class="bg-white rounded-xl shadow-md p-8 card-hover">
                        <h3 class="text-xl font-semibold mb-4 text-purple-700">实现机制</h3>
                        <div class="flex mb-6">
                            <div class="flex-shrink-0 mr-4">
                                <div class="w-10 h-10 rounded-full bg-purple-50 text-purple-600 flex items-center justify-center">
                                    <i class="fas fa-layer-group"></i>
                                </div>
                            </div>
                            <div>
                                <h4 class="font-medium">意向锁（Intention Locks）</h4>
                                <p class="text-slate-600">用于表级别，表明事务打算对某些行加锁。意向锁帮助 InnoDB 在行级锁之前确保没有其他事务持有不兼容的锁。</p>
                            </div>
                        </div>
                        <div class="bg-gray-50 rounded-lg p-6 mb-6">
                            <h4 class="font-medium text-sm uppercase tracking-wider text-gray-500 mb-3">锁兼容性矩阵</h4>
                            <table class="min-w-full divide-y divide-gray-200">
                                <thead class="bg-gray-100">
                                    <tr>
                                        <th class="px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">锁类型</th>
                                        <th class="px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">共享锁(S)</th>
                                        <th class="px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">排他锁(X)</th>
                                    </tr>
                                </thead>
                                <tbody class="bg-white divide-y divide-gray-200">
                                    <tr>
                                        <td class="px-4 py-2 whitespace-nowrap text-sm font-medium text-gray-900">共享锁(S)</td>
                                        <td class="px-4 py-2 whitespace-nowrap text-sm text-gray-500">兼容</td>
                                        <td class="px-4 py-2 whitespace-nowrap text-sm text-gray-500">不兼容</td>
                                    </tr>
                                    <tr>
                                        <td class="px-4 py-2 whitespace-nowrap text-sm font-medium text-gray-900">排他锁(X)</td>
                                        <td class="px-4 py-2 whitespace-nowrap text-sm text-gray-500">不兼容</td>
                                        <td class="px-4 py-2 whitespace-nowrap text-sm text-gray-500">不兼容</td>
                                    </tr>
                                </tbody>
                            </table>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Feature 3 -->
            <div class="grid grid-cols-1 md:grid-cols-12 gap-8 mb-16">
                <div class="md:col-span-4">
                    <div class="sticky top-8">
                        <div class="feature-icon bg-blue-100 text-blue-600">
                            <i class="fas fa-link text-2xl"></i>
                        </div>
                        <h2 class="text-3xl font-bold mb-4">外键支持 (Foreign Key Constraints)</h2>
                        <p class="text-blue-600 font-medium">保证数据的完整性和一致性</p>
                        <div class="mt-6">
                            <div class="flex items-center mb-3">
                                <div class="w-8 h-8 rounded-full bg-blue-100 text-blue-600 flex items-center justify-center mr-3">
                                    <i class="fas fa-check-circle"></i>
                                </div>
                                <span>约束检查确保数据有效性</span>
                            </div>
                            <div class="flex items-center">
                                <div class="w-8 h-8 rounded-full bg-blue-100 text-blue-600 flex items-center justify-center mr-3">
                                    <i class="fas fa-project-diagram"></i>
                                </div>
                                <span>支持级联更新和删除</span>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="md:col-span-8">
                    <div class="bg-white rounded-xl shadow-md p-8 card-hover">
                        <h3 class="text-xl font-semibold mb-4 text-blue-700">实现机制</h3>
                        <div class="flex mb-6">
                            <div class="flex-shrink-0 mr-4">
                                <div class="w-10 h-10 rounded-full bg-blue-50 text-blue-600 flex items-center justify-center">
                                    <i class="fas fa-clipboard-check"></i>
                                </div>
                            </div>
                            <div>
                                <h4 class="font-medium">约束验证</h4>
                                <p class="text-slate-600">外键约束的验证在事务提交时进行，确保所有数据一致性规则得到遵守。</p>
                            </div>
                        </div>
                        <div class="bg-gray-50 rounded-lg p-6">
                            <div class="mermaid">
                                erDiagram
                                    CUSTOMER ||--o{ ORDER : places
                                    CUSTOMER {
                                        int id PK
                                        string name
                                    }
                                    ORDER {
                                        int id PK
                                        int customer_id FK
                                        date order_date
                                    }
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Feature 4 -->
            <div class="grid grid-cols-1 md:grid-cols-12 gap-8">
                <div class="md:col-span-4">
                    <div class="sticky top-8">
                        <div class="feature-icon bg-green-100 text-green-600">
                            <i class="fas fa-code-branch text-2xl"></i>
                        </div>
                        <h2 class="text-3xl font-bold mb-4">MVCC (多版本并发控制)</h2>
                        <p class="text-green-600 font-medium">实现事务隔离和并发处理</p>
                        <div class="mt-6">
                            <div class="flex items-center mb-3">
                                <div class="w-8 h-8 rounded-full bg-green-100 text-green-600 flex items-center justify-center mr-3">
                                    <i class="fas fa-history"></i>
                                </div>
                                <span>版本控制跟踪数据历史状态</span>
                            </div>
                            <div class="flex items-center">
                                <div class="w-8 h-8 rounded-full bg-green-100 text-green-600 flex items-center justify-center mr-3">
                                    <i class="fas fa-camera"></i>
                                </div>
                                <span>支持快照读和当前读</span>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="md:col-span-8">
                    <div class="bg-white rounded-xl shadow-md p-8 card-hover">
                        <h3 class="text-xl font-semibold mb-4 text-green-700">实现机制</h3>
                        <div class="flex mb-6">
                            <div class="flex-shrink-0 mr-4">
                                <div class="w-10 h-10 rounded-full bg-green-50 text-green-600 flex items-center justify-center">
                                    <i class="fas fa-columns"></i>
                                </div>
                            </div>
                            <div>
                                <h4 class="font-medium">隐藏列</h4>
                                <p class="text-slate-600">InnoDB 在每行数据中隐式地维护了一些版本信息，例如事务 ID 和回滚日志等。这些信息用于支持 MVCC 机制，实现事务隔离。</p>
                            </div>
                        </div>
                        <div class="bg-gray-50 rounded-lg p-6">
                            <div class="mermaid">
                                timeline
                                    title MVCC 版本链示例
                                    section 事务T1 (ID:101)
                                    2023-01-01 : 插入行R1
                                    section 事务T2 (ID:102)
                                    2023-01-02 : 修改行R1
                                    section 事务T3 (ID:103)
                                    2023-01-03 : 读取行R1的快照
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <!-- Summary Section -->
        <section class="mt-20">
            <div class="bg-gradient-to-r from-indigo-500 to-purple-600 rounded-2xl p-8 text-white">
                <div class="max-w-4xl mx-auto">
                    <h2 class="text-3xl font-bold mb-6">InnoDB 特性协同工作</h2>
                    <p class="text-lg mb-6">这四大特性不是孤立工作的，而是相互配合形成完整的数据库管理系统：</p>
                    <ul class="space-y-4 mb-8">
                        <li class="flex items-start">
                            <div class="flex-shrink-0 mt-1 mr-3">
                                <div class="w-6 h-6 rounded-full bg-white bg-opacity-20 flex items-center justify-center">
                                    <i class="fas fa-check text-xs"></i>
                                </div>
                            </div>
                            <span>事务支持为数据操作提供原子性和一致性保障</span>
                        </li>
                        <li class="flex items-start">
                            <div class="flex-shrink-0 mt-1 mr-3">
                                <div class="w-6 h-6 rounded-full bg-white bg-opacity-20 flex items-center justify-center">
                                    <i class="fas fa-check text-xs"></i>
                                </div>
                            </div>
                            <span>行级锁确保高并发环境下的数据一致性和性能</span>
                        </li>
                        <li class="flex items-start">
                            <div class="flex-shrink-0 mt-1 mr-3">
                                <div class="w-6 h-6 rounded-full bg-white bg-opacity-20 flex items-center justify-center">
                                    <i class="fas fa-check text-xs"></i>
                                </div>
                            </div>
                            <span>外键约束维护表间关系的完整性</span>
                        </li>
                        <li class="flex items-start">
                            <div class="flex-shrink-0 mt-1 mr-3">
                                <div class="w-6 h-6 rounded-full bg-white bg-opacity-20 flex items-center justify-center">
                                    <i class="fas fa-check text-xs"></i>
                                </div>
                            </div>
                            <span>MVCC 减少锁争用，提高并发性能</span>
                        </li>
                    </ul>
                    <div class="bg-white bg-opacity-10 p-6 rounded-lg">
                        <div class="mermaid text-white">
                            graph LR
                                A[事务支持] -->|ACID| B[数据一致性]
                                C[行级锁] -->|并发控制| B
                                D[外键约束] -->|关系完整性| B
                                E[MVCC] -->|无锁读| C
                        </div>
                    </div>
                </div>
            </div>
        </section>
    </div>

    <script>
        mermaid.initialize({
            startOnLoad: true,
            theme: 'default',
            themeVariables: {
                primaryColor: '#4f46e5',
                primaryTextColor: '#fff',
                primaryBorderColor: '#4f46e5',
                lineColor: '#4f46e5'
            }
        });
    </script>
</body>
</html>
```